Pengantar PyTorch: Mengapa Tensor Penting
PyTorch adalah kerangka kerja sumber terbuka yang sangat fleksibel dan dinamis, digemari untuk penelitian pembelajaran mendalam dan prototipe cepat. Di intinya, Tensor adalah struktur data yang tak tergantikan. Ini adalah larik multi-dimensi yang dirancang untuk menangani operasi numerik secara efisien yang dibutuhkan oleh model pembelajaran mendalam, mendukung akselerasi GPU secara otomatis. akselerasi GPU automatically.
1. Memahami Struktur Tensor
Setiap input, output, dan parameter model dalam PyTorch dikemas dalam bentuk Tensor. Mereka memiliki fungsi yang sama seperti array NumPy tetapi dioptimalkan untuk pemrosesan pada perangkat keras khusus seperti GPU, membuatnya jauh lebih efisien untuk operasi aljabar linear skala besar yang dibutuhkan oleh jaringan saraf.
Properti utama yang mendefinisikan tensor:
- Bentuk: Menentukan dimensi data, dinyatakan sebagai tuple (misalnya, $4 \times 32 \times 32$ untuk satu kelompok gambar).
- Tipe Data: Menentukan tipe numerik dari elemen yang disimpan (misalnya,
torch.float32untuk bobot model,torch.int64untuk pengindeksan). - Perangkat: Menunjukkan lokasi perangkat keras fisik: biasanya
'cpu'atau'cuda'(GPU NVIDIA).
requires_grad=True diatur, memungkinkan perhitungan gradien yang mudah saat melakukan backpropagation.
Run code to inspect active tensors
The inner dimensions must match, so $F$ must be $(1, 10)$. Then $(1, 10) @ (10, 5) \rightarrow (1, 5)$.
Code:
F_new = F.unsqueeze(0) or F_new = F.view(1, -1)The operation is straightforward MatMul.
Code:
output = F_new @ W or output = torch.matmul(F_new, W)Use the
view or reshape methods. The fastest way to flatten is often using -1 for one dimension.Code:
F_flat = F.view(-1) or F_flat = F.reshape(50)